1
Fondasi Arsitektur Ekosistem HIP
AI022Lesson 3
00:00

The Ekosistem HIP didesain sebagai lapisan abstraksi tipis yang dirancang untuk kompatibilitas kode sumber antara arsitektur AMD dan NVIDIA. Ia memanfaatkan ROCm (Radeon Open Compute) tumpukan, khususnya menggunakan Arsitektur Sistem Heterogen (HSA) runtime dan Pengemudi Fusi Kernel (KFD).

1. Inisialisasi Awal

Inisialisasi dimulai dengan pertukaran tangan rendah tingkat melalui hsa_init(0, ...) dan hsaKmtOpenKFD(...). Panggilan-panggilan penetapan ini menciptakan jembatan komunikasi antara aplikasi ruang pengguna dan perangkat keras GPU AMD.

2. Penemuan Topologi & Properti

Sebelum menjalankan kernel, runtime mengidentifikasi kemampuan perangkat keras menggunakan hsaKmtAcquireSystemProperties dan hsaKmtGetNodeProperties. Ia memetakan memori fisik ke node GPU menggunakan hsaKmtMapMemoryToGPUNodes, memastikan visibilitas tabel halaman bagi perangkat.

3. Jalur Komilasi

Jembatan antara CUDA dan HIP dibangun atas dua pilar: hipify-perl (transpiler berbasis regex) dan hipcc (pembungkus kompiler).

# Contoh Alur Porting
hipify-perl square.cu > square.cpp
hipcc square.cpp -o square.out

4. Logika Versi

Kompatibilitas diterapkan melalui rumus tepat untuk memastikan hipRuntimeGetVersion sesuai dengan tabel ekstensi HSA:

$$\text{HIP\_VERSII} = \text{MAJOR} \times 10^7 + \text{MINOR} \times 10^5 + \text{PATCH}$$

Lapisan Aplikasi (./square.out)Lapisan HIP (hipcc / API Runtime)Runtime HSA / Tabel EkstensiDriver Kernel (KFD) & Perangkat Keras
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>